home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xdk_dev.jar / a / Tool.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-15  |  9.1 KB  |  446 lines

  1. package a;
  2.  
  3. import a.a.a.BitSet;
  4. import antlr.ANTLRLexer;
  5. import antlr.ANTLRParser;
  6. import antlr.CodeGenerator;
  7. import antlr.DefaultToolErrorHandler;
  8. import antlr.FileCopyException;
  9. import antlr.LLkAnalyzer;
  10. import antlr.MakeGrammar;
  11. import antlr.ToolErrorHandler;
  12. import antlr.collections.impl.Vector;
  13. import java.io.DataInputStream;
  14. import java.io.File;
  15. import java.io.FileReader;
  16. import java.io.FileWriter;
  17. import java.io.IOException;
  18. import java.io.InputStreamReader;
  19. import java.io.OutputStreamWriter;
  20. import java.io.PrintWriter;
  21. import java.io.Reader;
  22.  
  23. public class Tool {
  24.    // $FF: renamed from: a antlr.ToolErrorHandler
  25.    ToolErrorHandler field_0;
  26.    // $FF: renamed from: b boolean
  27.    protected boolean field_1 = false;
  28.    // $FF: renamed from: c boolean
  29.    boolean field_2 = false;
  30.    // $FF: renamed from: d boolean
  31.    boolean field_3 = false;
  32.    // $FF: renamed from: e java.lang.String
  33.    protected static String field_4 = ".";
  34.    // $FF: renamed from: f java.lang.String
  35.    String field_5;
  36.    // $FF: renamed from: g java.io.Reader
  37.    transient Reader field_6;
  38.    // $FF: renamed from: h java.lang.String
  39.    protected static String field_7 = method_4("6\nBeu;\u000fI");
  40.    // $FF: renamed from: i boolean
  41.    protected static boolean field_8;
  42.    // $FF: renamed from: j a.a.a.BitSet
  43.    private static BitSet field_9 = new BitSet();
  44.  
  45.    public Tool() {
  46.       this.field_6 = new InputStreamReader(System.in);
  47.       this.field_0 = new DefaultToolErrorHandler();
  48.    }
  49.  
  50.    // $FF: renamed from: a (java.lang.String[], a.a.a.BitSet) void
  51.    private static void method_0(String[] var0, BitSet var1) {
  52.       for(int var2 = 0; var2 < var0.length; ++var2) {
  53.          if (!var1.member(var2)) {
  54.             warning(method_4("\u0013-`AK\u0013'6CH\u0017.wNCW/\u007fNBZ\"dGR\u0017&xT\u001dZ") + var0[var2] + method_4("Ac\u007fGI\u00151sD"));
  55.          }
  56.       }
  57.  
  58.    }
  59.  
  60.    public static void copyFile(String var0, String var1) throws IOException {
  61.       File var2 = new File(var0);
  62.       File var3 = new File(var1);
  63.       FileReader var4 = null;
  64.       FileWriter var5 = null;
  65.  
  66.       try {
  67.          if (!var2.exists() || !var2.isFile()) {
  68.             throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u0014,6SR\u0019+6SH\u000f1uE\u0007\u001c*zE\u001dZ") + var0);
  69.          } else if (!var2.canRead()) {
  70.             throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\t,cRD\u001fcpIK\u001fc\u007fS\u0007\u000f-dEF\u001e\"tLB@c") + var0);
  71.          } else {
  72.             if (var3.exists()) {
  73.                if (!var3.isFile()) {
  74.                   throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014c\u007fS\u0007\u0014,b\u0000FZ%\u007fLB@c") + var1);
  75.                }
  76.  
  77.                new DataInputStream(System.in);
  78.                if (!var3.canWrite()) {
  79.                   throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014cpIK\u001fc\u007fS\u0007\u000f-aRN\u000e&wBK\u001fy6") + var1);
  80.                }
  81.             } else {
  82.                File var10 = parent(var3);
  83.                if (!var10.exists()) {
  84.                   throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014crIU\u001f bOU\u0003crOB\t-1T\u0007\u001f;\u007fSS@c") + var1);
  85.                }
  86.  
  87.                if (!var10.canWrite()) {
  88.                   throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014crIU\u001f bOU\u0003c\u007fS\u0007\u000f-aRN\u000e&wBK\u001fy6") + var1);
  89.                }
  90.             }
  91.  
  92.             var4 = new FileReader(var2);
  93.             var5 = new FileWriter(var3);
  94.             char[] var6 = new char[1024];
  95.  
  96.             while(true) {
  97.                int var7 = ((InputStreamReader)var4).read(var6, 0, 1024);
  98.                if (var7 == -1) {
  99.                   return;
  100.                }
  101.  
  102.                ((OutputStreamWriter)var5).write(var6, 0, var7);
  103.             }
  104.          }
  105.       } finally {
  106.          if (var4 != null) {
  107.             try {
  108.                ((InputStreamReader)var4).close();
  109.             } catch (IOException var17) {
  110.             }
  111.          }
  112.  
  113.          if (var5 != null) {
  114.             try {
  115.                ((OutputStreamWriter)var5).close();
  116.             } catch (IOException var16) {
  117.             }
  118.          }
  119.  
  120.       }
  121.    }
  122.  
  123.    // $FF: renamed from: a (java.lang.String[]) void
  124.    void method_1(String[] var1) {
  125.       antlr.preprocessor.Tool var2 = new antlr.preprocessor.Tool(this, var1);
  126.       if (!var2.preprocess()) {
  127.          System.exit(1);
  128.       }
  129.  
  130.       String[] var3 = var2.preprocessedArgList();
  131.       this.method_3(var3);
  132.  
  133.       try {
  134.          if (this.field_5 != null) {
  135.             this.field_6 = new FileReader(this.field_5);
  136.          }
  137.       } catch (IOException var19) {
  138.          System.err.println(method_4("?1dOU@cuAI\u0014,b\u0000H\n&x\u0000@\b\"{MF\bcpIK\u001fc") + this.field_5);
  139.          method_2();
  140.          System.exit(1);
  141.       }
  142.  
  143.       TokenBuffer var4 = new TokenBuffer(new ANTLRLexer(this.field_6));
  144.       LLkAnalyzer var5 = new LLkAnalyzer(this);
  145.       MakeGrammar var6 = new MakeGrammar(this, var1, var5);
  146.  
  147.       try {
  148.          ANTLRParser var7 = new ANTLRParser(var4, var6, this);
  149.          var7.grammar();
  150.          if (this.field_1) {
  151.             System.out.println(method_4("?;\u007fTN\u0014$6DR\u001fcbO\u0007\u001f1dOU\tm"));
  152.             System.exit(1);
  153.          }
  154.  
  155.          method_0(var3, field_9);
  156.          String var9 = method_4("\u001b-bLUT") + this.getLanguage(var6) + method_4("9,rE`\u001f-sRF\u000e,d");
  157.  
  158.          try {
  159.             Class var10 = Class.forName(var9);
  160.             CodeGenerator var8 = (CodeGenerator)var10.newInstance();
  161.             var8.setBehavior(var6);
  162.             var8.setAnalyzer(var5);
  163.             var8.setTool(this);
  164.             var8.gen();
  165.          } catch (ClassNotFoundException var11) {
  166.             panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9);
  167.          } catch (InstantiationException var12) {
  168.             panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9);
  169.          } catch (IllegalArgumentException var13) {
  170.             panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9);
  171.          } catch (IllegalAccessException var14) {
  172.             panic(method_4("\u0019,rE\n\u001d&xEU\u001b7yR\u0007\u0019/wSTZd") + var9 + method_4("]c\u007fS\u0007\u0014,b\u0000F\u0019 sST\u0013!zE"));
  173.          }
  174.       } catch (MismatchedTokenException var15) {
  175.          System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var15).getMessage());
  176.       } catch (NoViableAltException var16) {
  177.          System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var16).getMessage());
  178.       } catch (ParserException var17) {
  179.          System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var17).getMessage());
  180.       } catch (IOException var18) {
  181.          System.err.println(method_4("3\fSXD\u001f3bIH\u0014y6") + ((Throwable)var18).getMessage());
  182.       }
  183.    }
  184.  
  185.    public void error(String var1) {
  186.       this.field_1 = true;
  187.       System.out.println(method_4("\u001f1dOU@c") + var1);
  188.    }
  189.  
  190.    public void error(String var1, int var2) {
  191.       this.field_1 = true;
  192.       System.out.println(method_4("\u001f1dOU@czII\u001fc") + var2 + method_4("@c") + var1);
  193.    }
  194.  
  195.    public static Object factory(String var0) {
  196.       Object var2 = null;
  197.  
  198.       try {
  199.          Class var1 = Class.forName(var0);
  200.          var2 = var1.newInstance();
  201.          return var2;
  202.       } catch (Exception var3) {
  203.          warning(method_4("9\"x\u0007SZ dEF\u000e&6AIZ,tJB\u001976OAZ7oPBZ") + var0);
  204.          return null;
  205.       }
  206.    }
  207.  
  208.    public static String fileMinusPath(String var0) {
  209.       String var1 = System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR"));
  210.       int var2 = var0.lastIndexOf(var1);
  211.       return var2 == -1 ? var0 : var0.substring(var2 + 1);
  212.    }
  213.  
  214.    public String getLanguage(MakeGrammar var1) {
  215.       if (this.field_2) {
  216.          return method_4(">*wGI\u00150bID");
  217.       } else {
  218.          return this.field_3 ? method_4("2\u0017[l") : var1.language;
  219.       }
  220.    }
  221.  
  222.    public static String getOutputDirectory() {
  223.       return field_4;
  224.    }
  225.  
  226.    // $FF: renamed from: a () void
  227.    private static void method_2() {
  228.       System.err.println(method_4("\u000f0wGB@c|AQ\u001bcwNS\u001618tH\u0015/6{F\b$e}\u0007\u001c*zE\t\u001d"));
  229.       System.err.println(method_4("Zc;O\u0007\u00156bPR\u000e\u0007\u007fR\u0007Zc6\u0000\u0007\t3sCN\u001c:6OR\u000e3cT\u0007\u001e*dED\u000e,dY\u0007\r+sRBZ\"zL\u0007\u00156bPR\u000ecqEI\u001f1wTB\u001em"));
  230.       System.err.println(method_4("Zc;DB\u00186q\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u0016\"cND\u0012cbHBZ\u0013wRT\u001f\u0015\u007fEPZ'sBR\u001d$sR\u0007\u000f3yN\u0007\n\"dSB\bc\u007fNQ\u0015 wTN\u0015-8"));
  231.       System.err.println(method_4("Zc;HS\u0017/6\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u001d&xEU\u001b7s\u0000F\u0014c~TJ\u0016cpIK\u001fcpRH\u0017coOR\bcqRF\u0017.wR\u0007R.\u007fNR\tcwCS\u0013,xS\u000eT"));
  232.       System.err.println(method_4("Zc;TU\u001b s\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u0012\"`E\u0007\u001b/z\u0000U\u000f/sS\u0007\u0019\"zL\u0007\u000e1wCB3-9TU\u001b soR\u000em"));
  233.       System.err.println(method_4("Zc;TU\u001b spF\b0sR\u0007Zc6\u0000\u0007\u0012\"`E\u0007\n\"dSB\bcdUK\u001f06CF\u0016/6TU\u001b siIU7dAD\u001f\fcT\t"));
  234.       System.err.println(method_4("Zc;TU\u001b slB\u0002&d\u0000\u0007Zc6\u0000\u0007\u0012\"`E\u0007\u0016&nEUZ1cLB\tcuAK\u0016cbRF\u0019&_N\b\u000e1wCB56b\u000e"));
  235.       System.err.println(method_4("Zc;TU\u001b stU\u001f&AAK\u0011&d\u0000\u0007\u0012\"`E\u0007\u000e1sE\u0007\r\"zKB\bcdUK\u001f06CF\u0016/6TU\u001b siIU7dAD\u001f\fcT\t"));
  236.    }
  237.  
  238.    public static void main(String[] var0) {
  239.       System.err.println(method_4(";\rBluZ\u0013wRT\u001f16gB\u0014&dAS\u001516\u0000\u0007,&dSN\u0015-6\u0012\tOm&\u0000\u0007Zr/\u0018\u001eWr/\u0019\u001fZ\u000ewGB6\"xG\u00073-eTN\u000e6bE"));
  240.  
  241.       try {
  242.          if (var0.length == 0) {
  243.             method_2();
  244.          }
  245.  
  246.          Tool var1 = new Tool();
  247.          var1.method_1(var0);
  248.          Object var3 = null;
  249.       } catch (Exception var2) {
  250.          System.err.println(System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR")) + System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR")));
  251.          System.err.println(method_4("Yg3\u0005\r\\\u00035\u0000N\u00147sRI\u001b/6EU\b,d\u001a\u0007") + ((Throwable)var2).toString());
  252.          System.err.println(method_4("! yMW\u0016\"\u007fN\u0007\u000e,6NB\u001b1sSSZ$yVB\b-{EI\u000ecyFA\u0013 \u007fAK"));
  253.          System.err.println(method_4("Z,d\u0000T\u001f-r\u0000O\u001b7s\rJ\u001b*z\u0000S\u0015cfAU\b7VPF\b1;RB\t&wRD\u0012muOJA"));
  254.          System.err.println(method_4("Z3zEF\t&6SB\u0014'6SS\u001b }\u0000S\b\"uE\u0007\r*bH\u0007\b&fOU\u000emK") + System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR")));
  255.          ((Throwable)var2).printStackTrace();
  256.       }
  257.  
  258.       System.exit(0);
  259.    }
  260.  
  261.    public static PrintWriter openOutputFile(String var0) throws IOException {
  262.       return new PrintWriter(new FileWriter(field_4 + System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")) + var0));
  263.    }
  264.  
  265.    public static void panic() {
  266.       System.err.println(method_4("\n\"xID"));
  267.       System.exit(1);
  268.    }
  269.  
  270.    public static void panic(String var0) {
  271.       System.err.println(method_4("\n\"xID@c") + var0);
  272.       System.exit(1);
  273.    }
  274.  
  275.    public static File parent(File var0) {
  276.       String var1 = var0.getParent();
  277.       if (var1 == null) {
  278.          return var0.isAbsolute() ? new File(File.separator) : new File(System.getProperty(method_4("\u000f0sR\t\u001e*d")));
  279.       } else {
  280.          return new File(var1);
  281.       }
  282.    }
  283.  
  284.    public static Vector parseSeparatedList(String var0, char var1) {
  285.       Vector var2 = new Vector(10);
  286.       StringBuffer var3 = new StringBuffer(100);
  287.       int var4 = 0;
  288.  
  289.       while(var4 < var0.length()) {
  290.          while(var4 < var0.length() && var0.charAt(var4) != var1) {
  291.             var3.append(var0.charAt(var4));
  292.             ++var4;
  293.          }
  294.  
  295.          var2.appendElement(var3.toString());
  296.          var3.setLength(0);
  297.          if (var4 < var0.length()) {
  298.             ++var4;
  299.          }
  300.       }
  301.  
  302.       if (var2.size() == 0) {
  303.          return null;
  304.       } else {
  305.          return var2;
  306.       }
  307.    }
  308.  
  309.    public static String pathToFile(String var0) {
  310.       String var1 = System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR"));
  311.       int var2 = var0.lastIndexOf(var1);
  312.       return var2 == -1 ? "." + System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")) : var0.substring(0, var2 + 1);
  313.    }
  314.  
  315.    // $FF: renamed from: b (java.lang.String[]) void
  316.    private void method_3(String[] var1) {
  317.       for(int var2 = 0; var2 < var1.length; ++var2) {
  318.          if (var1[var2].equals(method_4("W'\u007fA@\u0014,eTN\u0019"))) {
  319.             this.field_2 = true;
  320.             this.field_3 = false;
  321.             setArgOK(var2);
  322.          } else if (var1[var2].equals(method_4("W,"))) {
  323.             setArgOK(var2);
  324.             if (var2 + 1 >= var1.length) {
  325.                this.error(method_4("\u0017*eSN\u0014$6OR\u000e3cT\u0007\u001e*dED\u000e,dY\u0007\r*bH\u0007W,6OW\u000e*yN\u001cZ*qNH\b*xG"));
  326.             } else {
  327.                ++var2;
  328.                setOutputDirectory(var1[var2]);
  329.                setArgOK(var2);
  330.             }
  331.          } else if (var1[var2].equals(method_4("W+bMK"))) {
  332.             this.field_3 = true;
  333.             this.field_2 = false;
  334.             setArgOK(var2);
  335.          } else if (var1[var2].charAt(0) != '-') {
  336.             this.field_5 = var1[var2];
  337.             setArgOK(var2);
  338.          }
  339.       }
  340.  
  341.    }
  342.  
  343.    public static void setArgOK(int var0) {
  344.       field_9.add(var0);
  345.    }
  346.  
  347.    public static void setOutputDirectory(String var0) {
  348.       field_4 = var0;
  349.    }
  350.  
  351.    public static String stripBack(String var0, char var1) {
  352.       while(var0.length() > 0 && var0.charAt(var0.length() - 1) == var1) {
  353.          var0 = var0.substring(0, var0.length() - 1);
  354.       }
  355.  
  356.       return var0;
  357.    }
  358.  
  359.    public static String stripBack(String var0, String var1) {
  360.       boolean var2;
  361.       do {
  362.          var2 = false;
  363.  
  364.          for(int var3 = 0; var3 < var1.length(); ++var3) {
  365.             for(char var4 = var1.charAt(var3); var0.length() > 0 && var0.charAt(var0.length() - 1) == var4; var0 = var0.substring(0, var0.length() - 1)) {
  366.                var2 = true;
  367.             }
  368.          }
  369.       } while(var2);
  370.  
  371.       return var0;
  372.    }
  373.  
  374.    public static String stripFront(String var0, char var1) {
  375.       while(var0.length() > 0 && var0.charAt(0) == var1) {
  376.          var0 = var0.substring(1);
  377.       }
  378.  
  379.       return var0;
  380.    }
  381.  
  382.    public static String stripFront(String var0, String var1) {
  383.       boolean var2;
  384.       do {
  385.          var2 = false;
  386.  
  387.          for(int var3 = 0; var3 < var1.length(); ++var3) {
  388.             for(char var4 = var1.charAt(var3); var0.length() > 0 && var0.charAt(0) == var4; var0 = var0.substring(1)) {
  389.                var2 = true;
  390.             }
  391.          }
  392.       } while(var2);
  393.  
  394.       return var0;
  395.    }
  396.  
  397.    public static String stripFrontBack(String var0, String var1, String var2) {
  398.       int var3 = var0.indexOf(var1);
  399.       int var4 = var0.lastIndexOf(var2);
  400.       return var3 != -1 && var4 != -1 ? var0.substring(var3 + 1, var4) : var0;
  401.    }
  402.  
  403.    public static void toolError(String var0) {
  404.       System.out.println(method_4("\u001f1dOU@c") + var0);
  405.    }
  406.  
  407.    public static void warning(String var0) {
  408.       System.out.println(method_4("\r\"dNN\u0014$,\u0000") + var0);
  409.    }
  410.  
  411.    public static void warning(String var0, int var1) {
  412.       System.out.println(method_4("\r\"dNN\u0014$-\u0000K\u0013-s\u0000") + var1 + method_4("@c") + var0);
  413.    }
  414.  
  415.    // $FF: renamed from: a (java.lang.String) java.lang.String
  416.    private static String method_4(String var0) {
  417.       char[] var1 = var0.toCharArray();
  418.       int var2 = var1.length;
  419.  
  420.       for(int var3 = 0; var3 < var2; ++var3) {
  421.          char var10002 = var1[var3];
  422.          byte var10003;
  423.          switch (var3 % 5) {
  424.             case 0:
  425.                var10003 = 122;
  426.                break;
  427.             case 1:
  428.                var10003 = 67;
  429.                break;
  430.             case 2:
  431.                var10003 = 22;
  432.                break;
  433.             case 3:
  434.                var10003 = 32;
  435.                break;
  436.             default:
  437.                var10003 = 39;
  438.          }
  439.  
  440.          var1[var3] = (char)(var10002 ^ var10003);
  441.       }
  442.  
  443.       return new String(var1);
  444.    }
  445. }
  446.